package solved;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;

/*
 ID:	liluyan1
 LANG:	JAVA
 TASK:	barn1
 */
public class barn1 {
	public static void main(String[] args) throws IOException {
		BufferedReader f = new BufferedReader(new FileReader("barn1.in"));
		int res = new barn1().solve(f);
		
		PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(
				"barn1.out")));
		out.println(res);
		out.close();
		System.exit(0);
	}
	
	private int solve(BufferedReader f) throws IOException {
		int[] a = read(f, 3);
		int M = a[0], S = a[1], C = a[2];
		int[] t = new int[C];
		for (int i=0; i<C; i++) t[i] = Integer.parseInt(f.readLine());
		Arrays.sort(t);
		
		int[] gap = new int[C];
		for (int i=1; i<C; i++) gap[i] = t[i] - t[i-1];
		Arrays.sort(gap);
		
		int count = 0;
		for (int i=0; i<M-1 && i<C-1; i++) {
			count += gap[C-i-1] - 1;
		}
		
		return t[C-1] - t[0] + 1 - count;
	}
	
	private int[] read(BufferedReader f, int N) throws IOException {
		String[] t = f.readLine().split(" ");
		int[] a = new int[N];
		for (int i=0; i<N; i++) {
			a[i] = Integer.parseInt(t[i]);
		}
		return a;
	}
}
